Video playing control method and apparatus, and video playing system

ABSTRACT

Content of a video is parsed to identify one or more topics of the content. The video is divided into one or more video clips corresponding to a video playback of one or more topics. One or more titles corresponding to, and descriptive of, the one or more video clips are displayed. One or more visual effects corresponding to the one or more titles and indicative of corresponding playback statuses of the one or more video clip are displayed. A video clip is played, where the video clip is based on a particular title of the one or more titles selected from a time point determined based on a corresponding playback status of the video clip.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/205,411, filed on Nov. 30, 2018, which is a continuation of PCTApplication No. PCT/CN2017/085284, filed on May 22, 2017, which claimspriority to Chinese Patent Application No. 201610390721.7, filed on Jun.2, 2016, and each application is hereby incorporated by reference in itsentirety.

TECHNICAL FIELD

The present application pertains to the field of multimedia informationdata processing technologies and, in particular, to a video playingcontrol method and apparatus and a video playing system.

BACKGROUND

With the rapid development of Internet and computer technologies, onlinemultimedia enriches people's lives. Video programs such as onlineeducation programs, technical tutorial programs, and product instructionprograms are favored by many users.

When playing a video, a large quantity of recorded video programsusually need to be cut and edited, to split the video into a pluralityof short video copies based on demand. Each short video copy can use avideo name to display main content of the video copy. However, a videousually includes a lot of node information. For example, each onlineeducation course can be a video, and the course can include severalchapters. If a user wants to directly select and watch a chapter basedon chapter distribution of the course, the user usually needs to searchfor the chapter by dragging a mouse, or locate and watch the chapter byusing thumbnail display function through points on a progress bar.Apparently, this method cannot display all nodes in one video,especially in a process introduction video, a product instruction video,etc., and it is difficult for the user to clearly understand the nodedistribution of the video.

In the existing technology, for distribution and control of video nodes,a plurality of chapters usually correspond to a plurality of videos. Avideo cannot display all nodes included in the video based on videodisplay content, and user experience about understanding nodes in thevideo and performing interactive progress control is relatively poor.

SUMMARY

An objective of the present application is to provide a video playingcontrol method and apparatus and a video playing system, so that a usercan grasp a video content node and a video playback time moreconveniently and clearly, by using a video progress control relationshipbased on an event node, and thus video playing interaction experience ofthe user can be improved.

The video playing control method and apparatus, and the video playingsystem provided in the present application are implemented as follows:

A video playing control method is provided and the method includes:defining a display node of a target video based on an event node of thetarget video, where the event node includes an event node that isdefined and set by using at least one of a timeline node and atarget-object spatial location node that are based on display content ofthe target video; determining a video runtime node of the display node,generating a node control interface of the target video, and displayinga playing status of the display node on the node control interface; andwhen a trigger instruction clicked by a user on the node controlinterface for jumping to a target display node is received, obtaining avideo runtime node of the target display node, playing the target videofrom the video runtime node of the target display node, and updating aplaying status of the target display node based on a video playback timeof the target display node.

A video playing control apparatus is provided, and the apparatusincludes: a display node setting module, configured to define a displaynode of a target video based on an event node of the target video, wherethe event node includes an event node that is defined and set by usingat least one of a timeline node and a target-object spatial locationnode that are based on display content of the target video; a nodecontrol interface module, configured to determine a video runtime nodeof the display node, generate a node control interface of the targetvideo, and display a playing status of the display node on the nodecontrol interface; and a playing processing module, configured to obtaina video runtime node of the target display node, play the target videofrom the video runtime node of the target display node, and update aplaying status of the target display node based on a video playback timeof the target display node when a trigger instruction clicked by a useron the node control interface for jumping to a target display node isreceived video playback time.

A video playing system is provided, and the system includes a videoplaying unit and a node control unit.

The video playing unit is configured to play video content of acorresponding display node in a target video based on a triggerinstruction of a user.

The node control unit is configured to define a display node of thetarget video based on an event node of the target video, where the eventnode includes an event node that is defined and set by using at leastone of a timeline node and a target-object spatial location node thatare based on display content of the target video; determine a videoruntime node of the display node, generate a node control interface ofthe target video, and display a playing status of the display node onthe node control interface; and when a trigger instruction clicked bythe user on the node control interface for jumping to a target displaynode is received, obtain a video runtime node of the target displaynode, play the target video of the video playing unit from the videoruntime node of the target display node, and update a playing status ofthe target display node based on a video playback time of the targetdisplay node.

According to the video playing control method and apparatus, and thevideo playing system provided in the present application, all nodes,procedure steps, etc. can be displayed in one video, and a progress viewcan be recorded and labeled. In an online education video, a processvideo, a merchandise function introduction video, a component displayvideo, etc., a corresponding event node can be set based on videocontent. These event nodes can correspond, on a one-to-one basis, withchapters, steps, components, and such in content played by the video,and the event nodes are used to enable or control playing and recordingof the video. In the present application, all node information of thevideo is set and displayed based on the event nodes, so that noderelationship information of playing content of the video can be clearlydisplayed to the user, to help the user perform video progress controlconveniently, quickly, and effectively, and improve video playinginteraction experience of the user.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in the implementations of thepresent application or in the existing technology more clearly, thefollowing briefly describes the accompanying drawings required fordescribing the implementations or the existing technology. Theaccompanying drawings in the following description merely show someimplementations of the present application, and a person of ordinaryskill in the art can still derive other drawings from these accompanyingdrawings without creative efforts.

FIG. 1 is a flowchart illustrating a video playing control method,according to an implementation of the present application;

FIG. 2 is a schematic diagram illustrating a video playback controlinterface on which a progress is replaced by a step pattern in animplementation application scenario, according to the presentapplication;

FIG. 3 is a schematic diagram illustrating a video playback controlinterface on which each component of a target object is used as adisplay node in another implementation application scenario, accordingto the present application;

FIG. 4 is a flowchart illustrating a video playing control method,according to another implementation of the present application;

FIG. 5 is a flowchart illustrating a video playing control method,according to another implementation of the present application;

FIG. 6 is a schematic structural diagram illustrating modules of a videoplaying control apparatus, according to an implementation of the presentapplication;

FIG. 7 is a schematic structural diagram illustrating modules of a videoplaying control apparatus, according to another implementation of thepresent application;

FIG. 8 is a schematic structural diagram illustrating modules of a videoplaying control apparatus, according to another implementation of thepresent application; and

FIG. 9 is a flowchart illustrating an example of a computer-implementedmethod for controlling video playback, according to an implementation ofthe present disclosure.

DESCRIPTION OF IMPLEMENTATIONS

To make a person skilled in the art understand the technical solutionsin the present application better, the following clearly and completelydescribes the technical solutions in the implementations of the presentapplication with reference to the accompanying drawings in theimplementations of the present application. Apparently, the describedimplementations are merely some, but not all of the implementations ofthe present application. All other implementations obtained by a personof ordinary skill in the art based on the implementations of the presentapplication without creative efforts shall fall within the protectionscope of the present application.

FIG. 1 is a flowchart illustrating a video playing control method,according to an implementation of the present application. Although thepresent application provides operation steps of a method or a structureof an apparatus shown in the following implementations or theaccompanying drawings, the method or the apparatus can include more orfewer operation steps or module structures based on conventional ornon-creative efforts. For steps or structures that have no necessarycausal relationship in logic, an execution sequence of the steps or amodule structure of the apparatus is not limited to an executionsequence or a module structure provided in the implementations of thepresent application. When the method or the module structure is appliedin an actual apparatus or an actual terminal product, the method or themodule structure can be executed based on the sequence of the method orthe module structure in the implementations or the accompanyingdrawings, or can be executed in parallel (for example, under parallelprocessors, multithreaded processing, or even distributed processingenvironments).

As shown in FIG. 1, the video playing control method provided in thisimplementation of the present application can include the followingsteps.

S1: Define a display node of a target video based on an event node ofthe target video, where the event node includes an event node that isdefined and set by using at least one of a timeline node and atarget-object spatial location node that are based on display content ofthe target video.

In this implementation of the present application, a display node of atarget video that needs to be processed can be defined based on an eventnode of the target video. Generally, several event nodes are included ina guiding target video such as a product application promotion video, amarketing video, a user registration video, or an educational guidancevideo. In the present application, the event node can include a temporalor spatial dimension based on display content of a video. The temporaldimension is usually a timeline node based on display content of atarget video. For example, one course video includes a plurality ofchapters, each chapter can be a timeline node based on a course learningprogress, and each chapter can be used as a display node of the targetvideo. Alternatively, in a product release method video under amanagement program that includes five operational steps: 1. create anactivity template; 2. name a page; 3. select an element for editing; 4.complete editing; and 5. release. In this case, the five steps in thevideo can be used as event nodes of a timeline node type, and the fivesteps are separately used as five display nodes of the target video.

FIG. 2 is a schematic diagram illustrating a video playback controlinterface on which a progress is replaced by a step pattern in animplementation application scenario, according to the presentapplication. In FIG. 2, five display nodes are defined in thedescription video based on an actual activity releasing operation order.A specific event node of a timeline node can be determined based onactual content of the target video. In an implementation of the videoplaying control method provided in the present application, the timelinenode based on the display content of the target video can include:

S101: A temporal dimension node that is set based on at least one of alearning progress, a content chapter node, and a step division node ofthe display content of the same target video.

In another application scenario, if the display content of the targetvideo relates to a detailed merchandise instruction, a productintroduction, etc., the target video can be defined as a display node ofa corresponding component based on video content of each component of atarget object (for example, a product) actually displayed in the sametarget video. A component description node relationship of the targetobject in the target video can be learned more conveniently and clearlythrough such video content node display based on the target-objectspatial location node in the video, to help the user select andunderstand the video content, and improve a video display effect anduser experience.

FIG. 3 is a schematic diagram illustrating a video playback controlinterface on which each component of a target object is used as adisplay node in another implementation application scenario, accordingto the present application. In FIG. 3, actual display content of theoriginal target video represents function descriptions of components A1,A2, A3, A4, A5, and A6 of a merchandise A. In this implementation of thepresent application, each component to be displayed in the target videocan be used as an event node of the target video, and the target videois divided into six display nodes A1, A2, A3, A4, A5, and A6. There canbe other target-object spatial location nodes in another implementation.For example, in a target video whose target object separately shows top,pants, shoes, socks, and a hat of a model in an advertisement, the top,the pants, the shoes, the hat, and the socks can be separately used asevent nodes. A specific event node of a target-object spatial locationnode can be determined based on actual content of the target video. Inan implementation of the video playing control method provided in thepresent application, the target-object spatial location node based onthe display content of the target video can include:

S102: A spatial dimension node that is set based on a display componentof a target object in the display content of the same target video.

In another application scenario, an event node combining a timeline nodeand a target-object spatial location node can be determined based ondisplay content of a target video, and then a display node of the targetvideo is defined. It is worthwhile to note that the event node in thepresent application usually can be a step node, a component node, etc.,determined based on actual display content of a target video, especiallya merchandise display video, an education video, a process guidancevideo, etc., and used to display playing content of the target video tothe user, so that the original target video becomes a guiding video, tohelp the user learn and control video content and video progress quicklyand effectively.

In the video playing control method in the present application, thedisplay node of the target video can be defined based on the event nodeof the target video. The event node includes the event node that isdefined and set by using at least one of the timeline node and thetarget-object spatial location node that are based on the displaycontent of the target video.

S2: Determine a video runtime node of the display node, generate a nodecontrol interface of the target video, and display a playing status ofthe display node on the node control interface.

Each defined display node of the target video can be a progress segmentof the target video, and usually includes a start time node and an endtime node of the display node. In this implementation of the presentapplication, after the display node of the target video is determined,and time node information of a related event is defined, a node controlinterface on which the display node is arranged can be generated. Thenode control interface can be disposed at a location adjacent to aplaying area of the target video. For example, the node controlinterface can display operation execution steps below a video playingarea as illustrated in FIG. 2, or it can display a product functionalcomponent above a video playing area as illustrated in FIG. 3. The nodecontrol interface can be disposed in a corresponding location area basedon an application or web page interface design requirement. The nodecontrol interface can display all defined display nodes of the targetvideo. Each display node can correspond to a corresponding video runtimenode of the display node in the target video, for example, a start timenode and an end time node of the display node. When an actual product isdesigned, video runtime node information of the display nodes can be setinside a display node control, and is not displayed to the user. Thevideo runtime node information can be displayed to the user, to directlydisplay runtime information of the display nodes in the target video tothe user.

In this implementation of the present application, the playing status ofthe display node can be set based on information such as whether thedisplay node is clicked by the user for playing and whether the displaynode is finished, and a pattern of the playing status of the displaynode can be displayed on the node control interface. For example, in theapplication scenario in FIG. 3, a playing status of the display nodes ofthe components of the merchandise A can be set to include: an unplayedstate, an unfinished state, and a played state. An initial playingstatus of each display node of the target video can be set to unplayedstate. A corresponding pattern of the playing status can be designedbased on a design requirement. For example, an unplayed display node canbe set to a black character on a white background, a played display nodecan be set to be marked with “√”, and a corresponding background colorof an unfinished display node such as “A2 description” can be changed innode space based on a video playback time.

The node control interface of the target video is generated based on thedisplay node. The video runtime node of the display node on the nodecontrol interface can be set based on runtime information of eachdisplay node in the target video, and a corresponding play status isdisplayed on the node control interface based on a video playback timeof the display node.

S3: When a trigger instruction clicked by a user on the node controlinterface for jumping to a target display node is received, obtain avideo runtime node of the target display node, play the target videofrom the video runtime node of the target display node, and update aplaying status of the target display node based on a video playback timeof the target display node.

After the display node based on the event node is defined and set, andthe node control interface of the target video is generated, a playinstruction of the user, such as clicking a step or a component on thenode control interface, that triggers a corresponding target displaynode can be obtained, and the target video can be played from the videoruntime node corresponding to the target display node.

In this implementation of the present application, labeling can beautomatically performed based on the video playback time of the targetdisplay node, and the playing status of the target display node isupdated. For example, after the target video jumps to the target displaynode, the target display node starts to play until the target displaynode is finished. Therefore, the playing status of the target displaynode is updated from an unplayed state to a played state, and theplaying status of the target display node is displayed as a played stateon the node control interface.

According to the video playing control method provided in thisimplementation of the present application, all nodes, procedure steps,etc. can be displayed in one video, and a progress view can be recordedand labeled. In an online education video, a process video, amerchandise function video, a component display video, etc., acorresponding event node can be set based on video content. These eventnodes can correspond on a one-to-one basis with chapters, steps,components, etc. in content played by the video, and the event nodes areused to enable or control playing and recording of the video. In thepresent application, all node information of the video is set anddisplayed based on the event nodes, so that node relationshipinformation of playing content of the video can be clearly displayed tothe user, to help the user perform video progress control conveniently,quickly, and effectively, and improve video playing interactionexperience of the user.

In another implementation of the present application, current videoplayback time information of the target video can be recorded. If aprogress segment video of a current display node is unfinished, and theuser clicks another display node for playing, video playback timeinformation of the current display node can be recorded, the currentdisplay node can jump to the another display node clicked by the userfor playing, and a playing status of the current display node is set toan unfinished playing state, so that the user can have an overall graspand control on playing of the target video on the node controlinterface. Therefore, in another implementation the video playingcontrol method in the present application, the method can furtherinclude the following step:

S4: If a trigger instruction for jumping to a first target display nodeis received when a current display node of the target video is played,use a video playback time of the current display node as a video runtimenode of the current display node, set a playing status of the currentdisplay node to an unfinished playing state, correspondingly display theunfinished playing state of the current display node on the node controlinterface, and play the target video from a video runtime node of thefirst target display node.

FIG. 4 is a flowchart illustrating a video playing control method,according to another implementation of the present application. For animplementation effect diagram in a specific application scenario,references can be made to FIG. 3.

In another implementation of the video playing control method in thepresent application, if the display node clicked by the user is in anunfinished state, the display node can continue to be played from apreviously recorded video playback time in the same target video.Therefore, segment playing control of each display node can beseparately implemented in one video, to guide the user to performautomatic, precise, and clear progress control on a course learningvideo, a merchandise display video, etc.

FIG. 5 is a flowchart illustrating a video playing control method,according to another implementation of the present application. As shownin FIG. 5, the method can further include the following step:

S5: If a second target display node triggered by the user in the targetvideo is in an unfinished playing state, play the target video from arecorded video runtime node of the second target display node.

The target display node, the first target display node, and the secondtarget display node can be collective names mainly set to distinguishbetween a display node that is currently played and a display node to bejumped to in different application scenarios. For example, in someapplication scenarios, the second target display node can be a firsttarget display node.

According to the video playing control method provided in the previousimplementations, all nodes, procedure steps, etc. can be displayed inone video, and a progress view can be recorded and labeled. In an onlineeducation video, a process video, a merchandise function introductionvideo, a component display video, etc., a corresponding event node canbe set based on video content. These event nodes can correspond, on aone-to-one basis with chapters, steps, components, etc. in contentplayed by the video, and the event nodes are used to enable or controlplaying and recording of the video. In the present application, all nodeinformation of the video is set and displayed based on the event nodes,so that node relationship information of playing content of the videocan be clearly displayed to the user, to help the user perform videoprogress control conveniently, quickly, and effectively, and improvevideo playing interaction experience of the user.

Based on the video playing control method in the present application,the present application provides a video playing control apparatus. FIG.6 is a schematic structural diagram illustrating modules of a videoplaying control apparatus, according to an implementation of the presentapplication. As shown in FIG. 6, the apparatus can include: a displaynode setting module 101, configured to define a display node of a targetvideo based on an event node of the target video, where the event nodeincludes an event node that is defined and set by using at least one ofa timeline node, and a target-object spatial location node that arebased on display content of the target video; a node control interfacemodule 102, configured to determine a video runtime node of the displaynode, generate a node control interface of the target video, and displaya playing status of the display node on the node control interface; anda playing processing module 103, configured to obtain a video runtimenode of the target display node, play the target video from the videoruntime node of the target display node, and update a playing status ofthe target display node based on a video playback time of the targetdisplay node when a trigger instruction clicked by a user on the nodecontrol interface for jumping to a target display node is received.

In the video playing control apparatus in the present application, thedisplay node setting module 101 can determine that the event node of thetarget video forms a temporal dimension or a spatial dimension, tofurther determine the display node of the target video. Therefore, inanother implementation of the video playing control apparatus in thepresent application, the timeline node based on the display content ofthe target video includes: a temporal dimension node that is set basedon at least one of a learning progress, a content chapter node, and astep division node of the display content of the same target video.

In another implementation of the apparatus, the target-object spatiallocation node based on the display content of the target video includes:a spatial dimension node that is set based on a display component of atarget object in the display content of the same target video.

For a specific method that the event node is set in a temporal orspatial dimension based on actual playing content of the target video,references can be made to related descriptions in other implementationsof the present application, and details are omitted here for simplicity.

FIG. 7 is a schematic structural diagram illustrating modules of a videoplaying control apparatus, according to another implementation of thepresent application. As shown in FIG. 7, the apparatus can furtherinclude: a first jump processing module 104, configured to use a videoplayback time of the current display node as a video runtime node of thecurrent display node, set a playing status of the current display nodeto an unfinished playing state, correspondingly display the unfinishedplaying state of the current display node on the node control interface,and play the target video from a video runtime node of the first targetdisplay node, if a trigger instruction for jumping to a first targetdisplay node is received when a current display node of the target videois played.

In an implementation of the apparatus according to the presentapplication, current video playback time information of the target videocan be recorded. If a progress segment video of the current display nodeis unfinished, and the user clicks another display node for playing, thevideo playback time information of the current display node can berecorded, the current display node can jump to the another display nodeclicked by the user for playing, and a playing status of the currentdisplay node is set to an unfinished playing state, so that the user canhave an overall grasp and control on playing of the target video on thenode control interface.

FIG. 8 is a schematic structural diagram illustrating modules of a videoplaying control apparatus, according to another implementation of thepresent application. As shown in FIG. 8, the apparatus can furtherinclude: a second jump processing module 105, configured to play thetarget video from a recorded video runtime node of the second targetdisplay node if a second target display node triggered by the user inthe target video is in an unfinished playing state.

In an implementation of the apparatus according to the presentapplication, if a display node clicked by the user is in an unfinishedstate, the display node can continue to be played from a previouslyrecorded video playback time in the same target video. Therefore,segment playing control of each display node can be separatelyimplemented in one video, to guide the user to perform automatic,precise, and clear progress control on a course learning video, amerchandise display video, etc.

According to the video playing control apparatus provided in thisimplementation of the present application, all nodes, procedure steps,etc. can be displayed in one video, and a progress view can be recordedand labeled. In an online education video, a process video, amerchandise function introduction video, a component display video,etc., a corresponding event node can be set based on video content.These event nodes can correspond on a one-to-one basis with chapters,steps, components, etc. in content played by the video, and the eventnodes are used to enable or control playing and recording of the video.In the present application, all node information of the video is set anddisplayed based on the event nodes, so that node relationshipinformation of playing content of the video can be clearly displayed tothe user, to help the user perform video progress control conveniently,quickly, and effectively, and improve video playing interactionexperience of the user.

The previous video playing control method or apparatus can be applied toa video playing system in a plurality of application scenarios,including a mobile device APP, video playing on a page, etc. Nodeplaying control interaction performed by a user on one video can beimplemented by using an event node pattern of video content of nodessuch as steps, chapters, or components, and a control relationship ofthe entire video is clear. An event node and a procedure are used tocomplete video playing guidance and automatically label a video playbacktime, so that the user has more independence and control in an overallvideo cognition process, and video playing interaction experience of theuser can be improved. Therefore, the present application provides avideo playing system, and the system includes a video playing unit and anode control unit.

The video playing unit can be configured to play video content of acorresponding display node in a target video based on a triggerinstruction of a user.

The node control unit can be configured to define a display node of thetarget video based on an event node of the target video, where the eventnode includes an event node that is defined and set by using at leastone of a timeline node and a target-object spatial location node thatare based on display content of the target video; determine a videoruntime node of the display node, generate a node control interface ofthe target video, and display a playing status of the display node onthe node control interface; and when a trigger instruction clicked bythe user on the node control interface for jumping to a target displaynode is received, obtain a video runtime node of the target displaynode, play the target video of the video playing unit from the videoruntime node of the target display node, and update a playing status ofthe target display node based on a video playback time of the targetdisplay node.

The video playing unit can be set in a terminal application or page, sothat a player plays the target video. Correspondingly, as describedabove, the timeline node based on the display content of the targetvideo in the playing system can include: a temporal dimension node thatis set based on at least one of a learning progress, a content chapternode, and a step division node of the display content of the same targetvideo. Alternatively, the target-object spatial location node based onthe display content of the target video includes: a spatial dimensionnode that is set based on a display component of a target object in thedisplay content of the same target video. In the playing system, if atrigger instruction for jumping to a first target display node isreceived when a current display node of the target video is played, avideo playback time of the current display node is used as a videoruntime node of the current display node, a playing status of thecurrent display node is set to an unfinished playing state, theunfinished playing state of the current display node is correspondinglydisplayed on the node control interface, and the target video is playedfrom a video runtime node of the first target display node. Further, thesystem can implement the following operation: if a second target displaynode triggered by the user in the target video is in an unfinishedplaying state, playing the target video from a recorded video runtimenode of the second target display node. For a specific implementation,references can be made to descriptions related to the previous method orapparatus, and details are omitted here for simplicity.

Although descriptions of node setting, interface setting, and aninformation exchange method such as defining an event node in a temporalor spatial dimension by using chapters, steps, components, etc. of videoplaying content, displaying different playing states, triggering a videoplaying or jump instruction, etc. are mentioned in the content of thepresent application, the present application is not necessarily limitedto situations described by an information definition method, an industryprocessing standard, a specification, or the implementations. Animplementation solution slightly modified by using some industrystandards or on a basis of described implementations can also implementan implementation effect that is the same as, equivalent to, or similarto the described implementation, or an expected implementation effectobtained after transformation. Applying these modified or transformednode setting, interface setting, an information exchange method, etc.can still fall within the protection scope of the optionalimplementation solution of the present application.

Although the present application provides method operation stepsdescribed in the implementations or flowcharts, more or fewer operationsteps can be included based on conventional or non-creative means. Thesequence of the steps listed in the implementations is merely one ofnumerous step execution sequences, and does not represent the uniqueexecution sequence. For an actual apparatus or client product, the stepscan be executed based on the method sequence illustrated in theimplementations or accompanying drawings or executed in parallel (forexample, an environment of parallel processors or multi-threadedprocessing).

The units, apparatus, or modules illustrated in the previousimplementations can be implemented by using a computer chip or anentity, or can be implemented by using a product having a certainfunction. For ease of description, the previous apparatus is describedby dividing the functions into various modules. When the presentapplication is implemented, the functions of the modules can beimplemented by using the same or a plurality of pieces of softwareand/or hardware, or a module for implementing one function isimplemented by using a combination of a plurality of submodules orsubunits. For example, the playing processing module 103, the first jumpprocessing module 104, and the second jump processing module 105 can beimplemented by one function module.

A person skilled in the art also knows that, in addition to implementingthe controller by using the computer readable program code, logicprogramming can be performed on method steps to allow the controller toimplement the same function in forms of the logic gate, the switch, theapplication-specific integrated circuit, the programmable logiccontroller, and the built-in microcontroller. Therefore, the controllercan be considered as a hardware component, and an apparatus included inthe controller and configured to implement various functions can also beconsidered as a structure in the hardware component. Alternatively, theapparatus configured to implement various functions can even beconsidered as both a software module implementing the method and astructure in the hardware component.

The present application can be described in the general context ofcomputer executable instructions executed by a computer, for example, aprogram module. Generally, the program module includes a routine, aprogram, an object, a component, a data structure, a type, etc. thatexecutes a specific task or implements a specific abstract data type.The present application can also be practiced in distributed computingenvironments. In the distributed computing environments, tasks areperformed by remote processing devices connected through acommunications network. In a distributed computing environment, theprogram module can be located in both local and remote computer storagemedia including storage devices.

It can be seen from the descriptions of the implementations that aperson skilled in the art can clearly understand that the presentapplication can be implemented by using software and a necessary generalhardware platform. Based on such understanding, the technical solutionsof the present application essentially or the part contributing to theexisting technology can be implemented in a form of a software product.The software product can be stored in a storage medium such as aROM/RAM, a magnetic disk, or an optical disc, and includes severalinstructions for instructing a computer device (which can be a personalcomputer, a mobile device, a server, a network device, etc.) to performthe methods described in the implementations or in some parts of theimplementations of the present application.

The implementations in the present specification are described in aprogressive method. For the same or similar parts in theimplementations, references can be made to each other. Eachimplementation focuses on a difference from other implementations. Thepresent application can be applied to many general-purpose or dedicatedcomputer system environments or configurations, for example, a personalcomputer, a server computer, a handheld device or a portable device, atablet device, a multi-processor system, a microprocessor-based system,a set top box, a programmable video playing system, a network PC, asmall computer, a mainframe computer, and a distributed computingenvironment including any one of the previous systems or devices.

Although the present application is described by using theimplementations, a person of ordinary skill in the art knows that manymodifications and variations of the present application can be madewithout departing from the spirit of the present application. It isexpected that the claims include these modifications and variationswithout departing from the spirit of the present application.

FIG. 9 is a flowchart illustrating an example of a computer-implementedmethod 900 for controlling video playback, according to animplementation of the present disclosure. For clarity of presentation,the description that follows generally describes method 900 in thecontext of the other figures in this description. However, it will beunderstood that method 900 can be performed, for example, by any system,environment, software, and hardware, or a combination of systems,environments, software, and hardware, as appropriate. In someimplementations, various steps of method 900 can be run in parallel, incombination, in loops, or in any order.

At 902, content of a video is parsed to identify one or more topics ofthe content. In some implementations, the one or more topics areassociated with at least one of features, parts, operational steps, orfunctional steps of a product. In some implementations, the one or moretopics are associated with at least one of features, operational steps,or functional steps of a process. In some implementations, the video isselected (for example, by a user or computer process) from a pluralityof videos, and the one or more titles are displayed on a graphical userinterface (GUI) using an arrangement based on the one or more topics ofthe content. For example, the plurality of videos can be a plurality ofvideo tutorials of a multi-layer system. Each of the videos cancorrespond to a tutorial of one layer of the system. In some cases, eachlayer of the system can include a plurality of subsystems. In suchcases, each of the videos can correspond to one of the subsystems. Insome implementations, the plurality of videos can have selectabletitles. In some examples, the titles can be included in one or morepull-down menus. From 902, method 900 proceeds to 904.

At 904, the video is divided into one or more video clips correspondingto a video playback of one or more topics. From 904, method 900 proceedsto 906.

At 906, one or more titles corresponding to and descriptive of the oneor more video clips are displayed. From 906, method 900 proceeds to 908.

At 908, one or more visual effects corresponding to the one or moretitles and indicative of corresponding playback statuses of the one ormore video clips are displayed. In some examples, the titles can beshown in geographic shapes on the GUI. In some examples, the playbackstatuses can include statuses such as not yet played, time lapse of aprevious playback of the video clip, and fully viewed. Visual effectscorresponding to the playback statuses can be shown on the geographicshapes of the titles. For example, a time bar can be used to indicatethe time lapse of the previous playback, a check mark can be used toindicate the video clip has been fully viewed. From 908, method 900proceeds to 910.

At 910, a video clip is played based on a particular title of the one ormore titles selected from a time point determined based on acorresponding playback status of the video clip. In someimplementations, a depiction of the product that includes one or morelabels corresponding to the one or more topics is displayed. In someimplementations, the particular title of one or more titles is selectedbased on selecting a corresponding label. In some implementations,another video clip with playback time in the video later than the videoclip is played, where another video is played from a time pointdetermined based on a corresponding playback status of the other videoclip. In some examples, if another video clip has not been fully viewed,another video clip can be a video clip that immediately follows thepreviously played video clip in time. Another video clip can be playedfrom either the beginning or at a time when it was played in a previousplayback. If the video clip immediately following the previously playedvideo clip has been fully viewed, the other video clip can be a videoclip after the previously played video clip that has not been fullyviewed. After 910, method 900 stops.

Embodiments and the operations described in this specification can beimplemented in digital electronic circuitry, or in computer software,firmware, or hardware, including the structures disclosed in thisspecification or in combinations of one or more of them. The operationscan be implemented as operations performed by a data processingapparatus on data stored on one or more computer-readable storagedevices or received from other sources. A data processing apparatus,computer, or computing device may encompass apparatus, devices, andmachines for processing data, including by way of example a programmableprocessor, a computer, a system on a chip, or multiple ones, orcombinations, of the foregoing. The apparatus can include specialpurpose logic circuitry, for example, a central processing unit (CPU), afield programmable gate array (FPGA) or an application-specificintegrated circuit (ASIC). The apparatus can also include code thatcreates an execution environment for the computer program in question,for example, code that constitutes processor firmware, a protocol stack,a database management system, an operating system (for example anoperating system or a combination of operating systems), across-platform runtime environment, a virtual machine, or a combinationof one or more of them. The apparatus and execution environment canrealize various different computing model infrastructures, such as webservices, distributed computing and grid computing infrastructures.

A computer program (also known, for example, as a program, software,software application, software module, software unit, script, or code)can be written in any form of programming language, including compiledor interpreted languages, declarative or procedural languages, and itcan be deployed in any form, including as a stand-alone program or as amodule, component, subroutine, object, or other unit suitable for use ina computing environment. A program can be stored in a portion of a filethat holds other programs or data (for example, one or more scriptsstored in a markup language document), in a single file dedicated to theprogram in question, or in multiple coordinated files (for example,files that store one or more modules, sub-programs, or portions ofcode). A computer program can be executed on one computer or on multiplecomputers that are located at one site or distributed across multiplesites and interconnected by a communication network.

Processors for execution of a computer program include, by way ofexample, both general- and special-purpose microprocessors, and any oneor more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random-access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data. A computer can be embedded in another device, for example,a mobile device, a personal digital assistant (PDA), a game console, aGlobal Positioning System (GPS) receiver, or a portable storage device.Devices suitable for storing computer program instructions and datainclude non-volatile memory, media and memory devices, including, by wayof example, semiconductor memory devices, magnetic disks, andmagneto-optical disks. The processor and the memory can be supplementedby, or incorporated in, special-purpose logic circuitry.

Mobile devices can include handsets, user equipment (UE), mobiletelephones (for example, smartphones), tablets, wearable devices (forexample, smart watches and smart eyeglasses), implanted devices withinthe human body (for example, biosensors, cochlear implants), or othertypes of mobile devices. The mobile devices can communicate wirelessly(for example, using radio frequency (RF) signals) to variouscommunication networks (described below). The mobile devices can includesensors for determining characteristics of the mobile device's currentenvironment. The sensors can include cameras, microphones, proximitysensors, GPS sensors, motion sensors, accelerometers, ambient lightsensors, moisture sensors, gyroscopes, compasses, barometers,fingerprint sensors, facial recognition systems, RF sensors (forexample, Wi-Fi and cellular radios), thermal sensors, or other types ofsensors. For example, the cameras can include a forward- or rear-facingcamera with movable or fixed lenses, a flash, an image sensor, and animage processor. The camera can be a megapixel camera capable ofcapturing details for facial and/or iris recognition. The camera alongwith a data processor and authentication information stored in memory oraccessed remotely can form a facial recognition system. The facialrecognition system or one-or-more sensors, for example, microphones,motion sensors, accelerometers, GPS sensors, or RF sensors, can be usedfor user authentication.

To provide for interaction with a user, embodiments can be implementedon a computer having a display device and an input device, for example,a liquid crystal display (LCD) or organic light-emitting diode(OLED)/virtual-reality (VR)/augmented-reality (AR) display fordisplaying information to the user and a touchscreen, keyboard, and apointing device by which the user can provide input to the computer.Other kinds of devices can be used to provide for interaction with auser as well; for example, feedback provided to the user can be any formof sensory feedback, for example, visual feedback, auditory feedback, ortactile feedback; and input from the user can be received in any form,including acoustic, speech, or tactile input. In addition, a computercan interact with a user by sending documents to and receiving documentsfrom a device that is used by the user; for example, by sending webpages to a web browser on a user's client device in response to requestsreceived from the web browser.

Embodiments can be implemented using computing devices interconnected byany form or medium of wireline or wireless digital data communication(or combination thereof), for example, a communication network. Examplesof interconnected devices are a client and a server generally remotefrom each other that typically interact through a communication network.A client, for example, a mobile device, can carry out transactionsitself, with a server, or through a server, for example, performing buy,sell, pay, give, send, or loan transactions, or authorizing the same.Such transactions may be in real time such that an action and a responseare temporally proximate; for example an individual perceives the actionand the response occurring substantially simultaneously, the timedifference for a response following the individual's action is less than1 millisecond (ms) or less than 1 second (s), or the response is withoutintentional delay taking into account processing limitations of thesystem.

Examples of communication networks include a local area network (LAN), aradio access network (RAN), a metropolitan area network (MAN), and awide area network (WAN). The communication network can include all or aportion of the Internet, another communication network, or a combinationof communication networks. Information can be transmitted on thecommunication network according to various protocols and standards,including Long Term Evolution (LTE), 5G, IEEE 802, Internet Protocol(IP), or other protocols or combinations of protocols. The communicationnetwork can transmit voice, video, biometric, or authentication data, orother information between the connected computing devices.

Features described as separate implementations may be implemented, incombination, in a single implementation, while features described as asingle implementation may be implemented in multiple implementations,separately, or in any suitable sub-combination. Operations described andclaimed in a particular order should not be understood as requiring thatthe particular order, nor that all illustrated operations must beperformed (some operations can be optional). As appropriate,multitasking or parallel-processing (or a combination of multitaskingand parallel-processing) can be performed.

What is claimed is:
 1. A computer-implemented method, comprising:parsing content of a video to identify a plurality of topics of thecontent; dividing the video into a plurality of video clipscorresponding to a video playback of the plurality of topics; displayinga depiction of a product, wherein the product comprises a plurality ofparts, wherein the depiction of the product shows the plurality of partsand a plurality of labels, wherein each label of the plurality of labelsrefers to at least one part of the plurality of parts, each labelsuperimposed on the depiction, and wherein the each label of theplurality of labels is associated with a corresponding video clip of theplurality of video clips; displaying a plurality of titles correspondingto the plurality of video clips, wherein each title comprises textinformation matching second text information comprised in acorresponding label associated with the corresponding video clip; andselecting a label of the plurality of labels in the depiction to play afirst video clip associated with the label, wherein each label of theplurality of labels comprises a geometric shape connecting the secondtext information of the corresponding label to at least one part of theplurality of parts of the product.
 2. The computer-implemented method ofclaim 1, wherein the plurality of topics are associated with at leastone of features, parts, operational steps, or functional steps of theproduct.
 3. The computer-implemented method of claim 1, wherein theplurality of topics are associated with at least one of features,operational steps, or functional steps of a process.
 4. Thecomputer-implemented method of claim 1, wherein selecting the label ofthe plurality of labels in the depiction to play the first video clipassociated with the label comprises: interacting with the second textinformation comprised in the label to play the first video cliprepresented by a first title comprising the text information matchingthe second text information.
 5. The computer-implemented method of claim4, comprising: displaying, for each title of the plurality of titles, acorresponding start time that indicates a time within the video when arespective video clip starts and an end time that indicates a timewithin the video when the respective video clip ends.
 6. Thecomputer-implemented method of claim 5, wherein the video is selectedfrom a plurality of videos, and wherein the plurality of titles aredisplayed on a graphical user interface using an arrangement based onthe plurality of topics of the content.
 7. The computer-implementedmethod of claim 1, comprising playing a second video clip with playbacktime in the video later than the first video clip, wherein the secondvideo clip is played from a time point determined based on acorresponding playback status of the second video clip.
 8. Anon-transitory, computer-readable medium storing one or moreinstructions executable by a computer system to perform operationscomprising: parsing content of a video to identify a plurality of topicsof the content; dividing the video into a plurality of video clipscorresponding to a video playback of the plurality of topics; displayinga depiction of a product, wherein the product comprises a plurality ofparts, wherein the depiction of the product shows the plurality of partsand a plurality of labels, wherein each label of the plurality of labelsrefers to at least one part of the plurality of parts, each labelsuperimposed on the depiction, and wherein the each label of theplurality of labels is associated with a corresponding video clip of theplurality of video clips; displaying a plurality of titles correspondingto the plurality of video clips, wherein each title comprises textinformation matching second text information comprised in acorresponding label associated with the corresponding video clip; andselecting a label of the plurality of labels in the depiction to play afirst video clip associated with the label, wherein each label of theplurality of labels comprises a geometric shape connecting the secondtext information of the corresponding label to at least one part of theplurality of parts of the product.
 9. The non-transitory,computer-readable medium of claim 8, wherein the plurality of topics areassociated with at least one of features, parts, operational steps, orfunctional steps of the product.
 10. The non-transitory,computer-readable medium of claim 8, wherein the plurality of topics areassociated with at least one of features, operational steps, orfunctional steps of a process.
 11. The non-transitory, computer-readablemedium of claim 8, wherein selecting the label of the plurality oflabels in the depiction to play the first video clip associated with thelabel comprises: interacting with the second text information comprisedin the label to play the first video clip represented by a first titlecomprising the text information matching the second text information.12. The non-transitory, computer-readable medium of claim 11, theoperations comprising: displaying, for each title of the plurality oftitles, a corresponding start time that indicates a time within thevideo when a respective video clip starts and an end time that indicatesa time within the video when the respective video clip ends.
 13. Thenon-transitory, computer-readable medium of claim 12, wherein the videois selected from a plurality of videos, and wherein the plurality oftitles are displayed on a graphical user interface using an arrangementbased on the plurality of topics of the content.
 14. The non-transitory,computer-readable medium of claim 8, the operations comprising playing asecond video clip with playback time in the video later than the firstvideo clip, wherein the second video clip is played from a time pointdetermined based on a corresponding playback status of the second videoclip.
 15. A computer-implemented system, comprising: one or morecomputers; and one or more computer memory devices interoperably coupledwith the one or more computers and having tangible, non-transitory,machine-readable media storing one or more instructions that, whenexecuted by the one or more computers, perform one or more operationscomprising: parsing content of a video to identify a plurality of topicsof the content; dividing the video into a plurality of video clipscorresponding to a video playback of the plurality of topics; displayinga depiction of a product, wherein the product comprises a plurality ofparts, wherein the depiction of the product shows the plurality of partsand a plurality of labels, wherein each label of the plurality of labelsrefers to at least one part of the plurality of parts, each labelsuperimposed on the depiction, and wherein the each label of theplurality of labels is associated with a corresponding video clip of theplurality of video clips; displaying a plurality of titles correspondingto the plurality of video clips, wherein each title comprises textinformation matching second text information comprised in acorresponding label associated with the corresponding video clip; andselecting a label of the plurality of labels in the depiction to play afirst video clip associated with the label, wherein each label of theplurality of labels comprises a geometric shape connecting the secondtext information of the corresponding label to at least one part of theplurality of parts of the product.
 16. The computer-implemented systemof claim 15, wherein the plurality of topics are associated with atleast one of features, parts, operational steps, or functional steps ofthe product.
 17. The computer-implemented system of claim 15, whereinthe plurality of topics are associated with at least one of features,operational steps, or functional steps of a process.
 18. Thecomputer-implemented system of claim 15, wherein selecting the label ofthe plurality of labels in the depiction to play the first video clipassociated with the label comprises: interacting with the second textinformation comprised in the label to play the first video cliprepresented by a first title comprising the text information matchingthe second text information.
 19. The computer-implemented system ofclaim 18, the operations comprising: displaying, for each title of theplurality of titles, a corresponding start time that indicates a timewithin the video when a respective video clip starts and an end timethat indicates a time within the video when the respective video clipends.
 20. The computer-implemented system of claim 19, wherein the videois selected from a plurality of videos, and wherein the plurality oftitles are displayed on a graphical user interface using an arrangementbased on the plurality of topics of the content.